package com.assistant.moni;

import lombok.extern.slf4j.Slf4j;

// 主类，用于启动多个线程来模拟多个人的请求操作，并观察对共享资源的影响
@Slf4j
public class MultipleUserRequestsSimulation {
    public static void main(String[] args) {
        Counter counter = new Counter(); // 创建共享的计数器对象

        int numUsers = 200; // 定义要模拟的用户数量，这里模拟10个用户发起请求

        // 创建一个线程数组，用于存放模拟用户请求的线程对象
        UserRequestThread[] threads = new UserRequestThread[numUsers];
        for (int i = 0; i < numUsers; i++) {
            // 为每个线程传入共享的计数器对象，并指定线程名称（模拟不同用户）
            threads[i] = new UserRequestThread(counter, "用户" + (i + 1));
            // 启动线程，开始模拟用户请求操作
            threads[i].start();
        }
        // 打印出最终计数器的值，查看经过多个用户多次请求操作后的结果
        log.info("最终计数器的值为: " + counter.getCount());
    }
}